home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / security / doc / clippings / 921015-01 < prev    next >
Encoding:
Text File  |  1992-12-20  |  33.9 KB  |  673 lines

  1. Message-Id: <9210151528.AA26932@tictac.cert.org>
  2. Date: Thu, 15 Oct 92 11:23:35 EDT
  3. To: cert-tools@cert.org
  4. Subject: An Architectural Overview of UNIX Network Security
  5. From: "Robert B. Reinhardt" <breinhar@access.digex.com>
  6.  
  7. **************NEW VERSION---SEVERAL CHANGES*************
  8.  
  9. NOTE:  This paper is offered as a summary of some light
  10. research I've done into UNIX network security architecture
  11. and availability of some tools and techniques that can be
  12. used.
  13.  
  14. This post introduces some corrections to the first version
  15. that I posted on comp.security.misc on 09/19/92.  I don't
  16. intend to keep updating and reposting this on a regular
  17. basis since, I really don't have the time.
  18.  
  19. ========================cut here========================
  20. SUMMARY PAPER:  An Architectural Overview of UNIX Network Security
  21.       (Specifically oriented toward Internet connectivity)
  22.  
  23.                             Version 2
  24.  
  25.              By Robert B. Reinhardt, October 8, 1992
  26.                (breinhar%srg@uunet.uu.net) - work
  27.                (breinhar@access.digex.com) - home
  28.  
  29.      Nothing in this paper should be construed as a product
  30. endorsement.  The contents herein are the a result of light
  31. research and some prototype implementation that I've done over the
  32. past nine months.  I don't know if this will help you or not.  This
  33. is basically just a digest of information that a lot of people
  34. already know.  This is for those of you who don't already know.
  35.  
  36.      For each of the FIREWALL layers (sections) below, there is a
  37. subsection that follows that gives a brief description of some of
  38. the most widely used tools and techniques for implementing security
  39. controls and their availability.
  40.  
  41. =================================================================
  42.                       |                                     |    |
  43.      PUBLIC (or) NON-PRIVATE NETWORK ACCESS                 Y    |
  44.                       |                                     O    |
  45. ========================================================    U    |
  46.                       |                                |    R    Y
  47. SECTION A      ---------------                         |         O
  48.                | Router      |                         F    N    U
  49.                |             |                         I    E    R
  50.                ---------------                         R    T    
  51.                       |                                E    W    P
  52. ====================================================== W    O    O
  53.                       |                                A    R    L
  54. SECTION B      ---------------                         L    K    I
  55.                | Dual-homed  |                         L         C
  56.                | UNIX Gateway|                         |    A    Y
  57.                ---------------                         |    N    
  58.                       |                                |    D    A
  59. ========================================================         N
  60.                       |                                     E    D
  61. SECTION C      ---------------                              Q
  62.                | Hosts on    |                              U    P
  63.                | Local Net   |                              I    E
  64.                ---------------                              P    R
  65. =========================================================== M    S
  66.                                                             E    O
  67. SECTION D      Additional Measures to Enhance Security      N    N
  68.                                                             T    N
  69. =============================================================    E
  70.                                                                  L
  71. SECTION E      Functional Requirements and Security Policy       |
  72.                                                                  |
  73. ================================================================== Before starting into a description of the various elements of
  74. each of the above layers I feel I should reiterate the need for
  75. first developing a local security policy.  Each organization or
  76. site needs to have an effective security policy.  There are many
  77. tools and techniques available to implement security controls, but
  78. you should first conduct a thorough analysis of what your needs
  79. are, in order to design and implement an efficient operational
  80. environment.  You need to determine what your requirements for
  81. network services and features are, what level of security you
  82. require, and what risks you are willing to accept.  Sometimes the
  83. benefit outweighs the risk, sometimes not.  But, those decisions
  84. differ for each organization.  The "firewall" concept for creating
  85. a security demarkation point between your local net and the
  86. outside, as well as the various methods for enhancing security may
  87. not be appropriate for everyone, and in some cases may not go far
  88. enough.  But I believe this a good starting point for almost anyone
  89. with a general concern for UNIX network security.
  90.  
  91.      Let me apologize right now to the authors of these tools and
  92. designs.  Since I am just giving a brief overview, I cannot do
  93. justice to a complete description of them.  To the reader let me
  94. say that you should check the availability section and whenever
  95. possible obtain a README or other information before making your
  96. decisions.  In many cases there is at least one paper (in most
  97. cases probably several) that have been published that describe
  98. these things in better detail.  I'll try to list at least one
  99. source for each.
  100.  
  101.      Papers describing most if not all of these packages and
  102. techniques can be found in the SYMPOSIUM PROCEEDINGS of the USENIX
  103. Third UNIX Security Symposium (c) 1992 by the USENIX Association.
  104.  
  105.      Some of the functionality of these tools overlap.  Since you
  106. have the source to these tools, you can modify them or customize
  107. them to add new features.
  108.  
  109. SECTION A - Physical Access to your Network
  110.  
  111. A1.  Packet filtering.  Several internet protocol routers provide
  112.      the capability to filter packets.  Packet filtering allows you
  113.      to program the router to make a decision whether or not
  114.      traffic can pass to or from your network based on several
  115.      criteria such as:  source ip address, destination ip address,
  116.      protocol, tcp or udp port, etc.
  117.  
  118.      Availability:  I only have experience with CISCO routers,
  119.      however I've been told that Wellfleet and Proteon routers also
  120.      have this feature.  There may be other vendors as well, but
  121.      they probably all implement it a little differently.  Read: 
  122.      Smoot Carl-Mitchell and John S. Quarterman, "Building Internet
  123.      Firewalls"; UnixWorld; February, 1992; pp 93-102.
  124.  
  125. NOTE:     This layer of your security firewall also includes other
  126.           methods of access between networks such as CALL-BACK
  127.           MODEMS.
  128.  
  129. SECTION B - Logical Access to your Network
  130.  
  131. B1.  TCP_WRAPPER.  The "TCP_WRAPPER" tool provides monitoring and
  132.      control of network services.  Essentially, what happens is
  133.      that you configure inetd on your dual-homed gateway to run the
  134.      TCP WRAPPER software whenever certain services (ports) are
  135.      connected to.  Depending on how you configure TCP WRAPPER, it
  136.      will then LOG information about the connection and then
  137.      actually start the intended SERVER program that the connection
  138.      was intended for.  Since you have the source to the tool, you
  139.      can modify it to do more depending on what your needs are. 
  140.      For example, you may want TCP WRAPPER to connect the user to
  141.      a proxy service instead of the actual program, then have your
  142.      proxy software handle the transaction in whatever way your
  143.      security requirements demand.
  144.  
  145.      Availability:  This is available from several sources, but to
  146.      ensure that you get the most recent copy that CERT has
  147.      verified, you should use anonymous FTP to retrieve it from
  148.      cert.org in ~/pub/tools/tcp_wrappers/tcp_wrappers.*.
  149.  
  150. B2.  SOCKS Library and sockd.  The "sockd" and "SOCKS Library"
  151.      provide another way to implement a "tcp wrapper."  It is not
  152.      intended to make the system it runs on secure, but rather to
  153.      centralize ("firewall") all external internet services.  The
  154.      sockd process is started by inetd whenever a connection is
  155.      requested for certain services, and then only allows
  156.      connections from approved hosts (listed in a configuration
  157.      file).  The sockd also will LOG information about the
  158.      connection.  You can use the Socks Library to modify the
  159.      client software to directly utilize the sockd for outgoing
  160.      connections also, but this is described as very tedious and of
  161.      course requires you to have the source to those client
  162.      programs.
  163.  
  164.      Availability:  Unknown.  Contact the authors for more
  165.      information.  David Koblas (koblas@netcom.com) or Michelle R.
  166.      Koblas (mkoblas@nas.nasa.gov).
  167.  
  168. B3.  Kernel_Wrap for SunOS/RPC via Shared Libraries.  Essentially
  169.      this is a wrapper for SunOS daemons that use RCP, such as
  170.      portmap, ypserv, ypbind, ypupdated, mountd, pwdauthd, etc.  To
  171.      utilize this, you must have SunOS 4.1 or higher and must have
  172.      the capability to rebuild your shared libraries (but, you
  173.      don't need the source to your entire system).  Essentially
  174.      what happens is that you modify the function calls that the
  175.      kernel uses to establish RPC connections, such as accept(),
  176.      recvfrom() and recvmsg().  Since these calls are maintained in
  177.      the shared libraries, you have access to modify them without
  178.      rewriting the kernel.
  179.  
  180.      Availability:  The secured C library package to implement this
  181.      is available via anonymous FTP from eecs.nwu.edu in
  182.      ~/pub/securelib.
  183.  
  184. B4.  SWATCH.  Simple WATCHER is really two things, it is a program
  185.      used to parse through the myriad of LOG data generated by the
  186.      various security programs, in particular "syslog."  But, it's
  187.      more than that.  It is fully configurable with triggers
  188.      (actions), so that while it is continuously monitoring the LOG
  189.      in "real-time," it can take actions based upon certain high-
  190.      priority events that you tell it to watch for.  To get full
  191.      use of this, you will need to modify your network service
  192.      daemons such as ftpd and telnetd so that enhanced logging is
  193.      added to syslog, to feed SWATCH.
  194.  
  195.      Availability:  The SWATCH source and documentation is
  196.      available via anonymous FTP from sierra.stanford.edu in
  197.      ~/pub/sources.
  198.  
  199. B5.  Controlled Access Point (CAP).  This is more of a method or
  200.      protocol definition than a specific product.  CAP provides a
  201.      network mechanism intended to reduce the risk of:  password
  202.      guessing, probing for well-known accounts with default
  203.      passwords, trusted host rlogin, and password capture by
  204.      network snooping.  It is really a design for a variation or
  205.      enhancement to the general firewall approach to connecting two
  206.      or more networks.  In the paper describing this there is an
  207.      example of two local nets, one a secure segment with an
  208.      authentication service, and the other an unsecure segment. 
  209.      Both communicate with each other via a CAP, while there is a
  210.      router for communication to public networks connected on the
  211.      unsecure side of the CAP.  The CAP is essentially a router
  212.      with additional functionality to detect incoming connection
  213.      requests, intercept the user authentication process, and
  214.      invoke the authentication server.
  215.  
  216.      Availability:  Unknown.  Contact the authors for more
  217.      information.  J. David Thompson (thompsond@orvb.saic.com) and
  218.      Kate Arndt (karndt@mitre.org).
  219.  
  220. B6.  Mail Gateway.  This is more of a procedure than a software
  221.      package (although there are packages designed just to do
  222.      this).  I included this to maintain continuity with what I'm
  223.      trying to illustrate in this paper.  This really should be
  224.      applied to all network services that require external
  225.      connectivity (meaning any communication over non-private or
  226.      non-secure channels).  In the simplest implementation of this,
  227.      you configure your router to filter packets so that all mail
  228.      traffic (SMTP protocol for example) is only allowed to and
  229.      from one host, the "Mail Gateway."  Likewise, your DNS and MTA
  230.      software will need to be configured for this as well.
  231.  
  232. B7.  TTY_WRAPPER.  This is one of my pet ideas.  I have not seen
  233.      something like this around, and I'll probably never have time
  234.      to develop it.  But, essentially this would be like "TCP
  235.      WRAPPER," only it is designed specifically for serial
  236.      communications.  After that, we will need a "PSEUDO-TTY
  237.      WRAPPER," but that's for another day.
  238.  
  239. SECTION C - Physical and Logical Access to Hosts on your Network
  240.  
  241. C1.  Computer Oracle and Password System (COPS).  COPS is a UNIX
  242.      security status checker.  Essentially what it does is check
  243.      various files and software configurations to see if they have
  244.      been compromised (edited to plant a trojan horse or back
  245.      door), and checks to see that files have the appropriate modes
  246.      and permissions set to maintain the integrity of your security
  247.      level (make sure that your file permissions don't leave
  248.      themselves wide open to attack/access).
  249.  
  250.      NOTE:     Many vendors of UNIX are now bundling a security
  251.                status checker with the OS, usually under the
  252.                nomenclature of a "C2" or "trusted system."  You
  253.                may still find that this package has more features
  254.                than your canned package.  Compare them.
  255.  
  256.      Additional Comments:  The current version of COPS (1.04) makes
  257.      a limited attempt to detect bugs that are posted in CERT
  258.      advisories.  Also, it has an option to generate a limited
  259.      script that can correct various security problems that are
  260.      discovered.  Dan also offers a quick hint that should easily
  261.      get you started using COPS.  After you have unarchived the
  262.      COPS package, perform the following steps:  './reconfig',
  263.      'make', and './cops -v -s . -b bit_bucket'. -- There is a lot
  264.      of README documentation included if you need more help.
  265.  
  266.      Availability:  COPS can be retrieved via anonymous FTP from
  267.      cert.org in ~/pub/tools/cops.
  268.  
  269. C2.  Chkacct.  Chkacct is a COPS for the ordinary user.  This tool
  270.      is made available to the users to run, or it is run for them
  271.      once per day.  It will do an integrity check on the status of
  272.      files in their own account and then mail them the results
  273.      (such as "Dear user:  Your .rhosts file is unsafe").  This
  274.      package can help make your users more aware of security
  275.      controls and raise their level of participation in the
  276.      program.
  277.  
  278.      Availability:  Chkacct is distributed with the COPS package
  279.      (>= COPS 1.04), for additional information contact
  280.      shabby@mentor.cs.purdue.edu.
  281.  
  282. C3.  CRACK.  Crack helps the security administrator identify weak
  283.      passwords by checking for various weaknesses and attempting to
  284.      decrypt them.  If Crack can figure out your password, then you
  285.      must choose a better password.  It is very likely that a
  286.      determined intruder will be able to get the password too
  287.      (using similar techniques, or the Crack program itself, since
  288.      it is publicly available).
  289.      Availability:  Crack is available via anonymous FTP from
  290.      cert.org in ~/pub/tools/crack/crack_4.1-tar.Z.
  291.  
  292. C4.  SHADOW.  The shadow password suite of programs replaces the
  293.      normal password control mechanisms on your system to remove
  294.      the encrypted password from the publicly readable file
  295.      /etc/passwd and hides them in a place that only this program
  296.      has permission to read.  It consists of optional, configurable
  297.      components, provides password aging to force users to change
  298.      their passwords once in awhile, adds enhanced syslog logging,
  299.      and can allow users to set passwords up to a length of sixteen
  300.      characters.
  301.  
  302.      NOTE:     Many vendors of UNIX are now bundling a shadow
  303.                password suite with the OS, usually under the
  304.                nomenclature of a "C2" or "trusted system."  You
  305.                may still find that this package has more features
  306.                than your canned package.  Compare them.
  307.  
  308.      Availability:  Shadow is available from USENET archives which
  309.      store the comp.sources.misc newsgroup.  Distribution is
  310.      permitted for all non-commercial purposes.  For more
  311.      information contact the author, John F. Haugh III
  312.      (jfh@rpp386.cactus.org).
  313.  
  314. C5.  PASSWD+.  Passwd+ is a proactive password checker that
  315.      replaces /bin/passwd on your system.  It is rule-based and
  316.      easily configurable.  It prevents users from selecting a weak
  317.      password so that programs like "CRACK" can't guess it, and it
  318.      provides enhanced syslog logging.
  319.  
  320.      NOTE:     Many vendors of UNIX are now bundling a proactive
  321.                password checker with the OS, usually under the
  322.                nomenclature of a "C2" or "trusted system."  You
  323.                may still find that this package has more features
  324.                than your canned package.  Compare them.
  325.  
  326.      Availability:  Passwd+ is available via anonymous FTP from
  327.      dartmouth.edu in ~/pub/passwd+tar.Z.
  328.  
  329. C6.  AUDIT.  Audit is a policy-driven security checker for a
  330.      heterogeneous environment.  It is fully configurable so that
  331.      you can set up Audit to exactly match your site's security
  332.      policy.  This program functionally does what COPS is intended
  333.      to do, but does not hard-code your policy decisions for you
  334.      the way that COPS does.
  335.  
  336.      NOTE:     Many vendors of UNIX are now bundling an auditing
  337.                subsystem with the OS, usually under the
  338.                nomenclature of a "C2" or "trusted system."  You
  339.                may still find that this package has more features
  340.                than your canned package.  Compare them.  One
  341.                particular subject to note is that most (IMHO)
  342.                vendors auditing subsystems only collect and
  343.                regurgitate tons of raw data, with no guidance and
  344.                assistance for using that information.  They leave
  345.                that up to you.  The Audit and/or Swatch tools are
  346.                probably better.
  347.  
  348.      Availability:  The final version of Audit will eventually be
  349.      posted to USENET.  However, the beta release will only be made
  350.      available on a limited basis, to larger, heterogeneous sites. 
  351.      If your interested in participating in the beta test, send e-
  352.      mail to the auther, Bjorn Satdeva (bjorn@sysadmin.com).
  353.  
  354. C7.  MIRO.  Miro is a suite of tools for specifying and checking
  355.      security contraints (like COPS and Audit), including a couple
  356.      programming languages.  It is general because it is not tied
  357.      to any particular OS, and it is flexible because security
  358.      administrators express site policies via a formal
  359.      specification language.  It is easy to extend or modify a
  360.      policy by simply augmenting or changing the specification of
  361.      the current policy.
  362.  
  363.      Availability:  Miro is the product of a large research
  364.      project, and to understand it you need more than the paragraph
  365.      I've written above.  For more information about the Miro
  366.      project send e-mail to (miro@cs.cmu.edu), there is even a
  367.      video available.  The authors Ph.D thesis, as well as the
  368.      sources for the Miro tools, are available via anonymous FTP
  369.      from ftp.cs.cmu.edu.  When you connect there, type "cd
  370.      /afs/cs/project/miro/ftp" and "get ftp-instructions"; this
  371.      will explain how to get the thesis and/or software.
  372.  
  373. SECTION D - Additional Security Enhancements
  374.  
  375.      The tools described in sections {A...C} above, are what I
  376. consider part of a "base" set of tools and functional requirements
  377. for general security administration.  The tools and methods
  378. described in this section are additional measures that can be
  379. combined with or added to your overall security program at any of
  380. the other levels {A...C}.
  381.  
  382. D1.  One-time Password ("Key Card").  Since reusable passwords can
  383.      be captured and used/reused by intruders, consider a "one-time
  384.      password" scheme.  One-time passwords can be implemented using
  385.      software-only solutions or software/hardware solutions, and
  386.      there are several commercial products available.  The
  387.      following is an example of what CERT uses.  Each user is
  388.      assigned a "Digital Pathways" key-card (approximately $60 per
  389.      user).  When you enter your PIN code, it supplies a password
  390.      that is good only one time.  The only other piece to this, is
  391.      software that replace the login shell on your "firewall"
  392.      server.
  393.  
  394.      Availability:  The source-code for this shell is based on code
  395.      from the key card vendor and is currently not available to the
  396.      public domain via anonymous FTP.  For additional information
  397.      about this, send e-mail to (cert@cert.org).
  398.  
  399. D2.  Privacy Enhanced Mail (PEM).  PEM is a RSA-based encryption
  400.      scheme that encrypts sensitive information, but more than that
  401.      it checks for message integrity and non-repudiation of origin,
  402.      so that the originator cannot deny having sent the message. 
  403.      PEM is actually a protocol that is designed to allow use of
  404.      symmetric (private-key) and asymmetric (public-key)
  405.      cryptography methods.  In this example, Trusted Information
  406.      Systems, Inc. (TIS) has implemented a PEM package using the
  407.      public-key technique together with the Rand MH Message
  408.      Handling System (version 6.7.2).  TIS/PEM libraries can be
  409.      adapted for implementation of non-mail applications as well.
  410.  
  411.      Availability:  TIS/PEM is a commercially available product,
  412.      for additional information send e-mail to (pem-info@tis.com).
  413.  
  414. D3.  Kerberos.  Kerberos is a DES-based encryption scheme that
  415.      encrypts sensitive information, such as passwords, sent via
  416.      the network from client software to the server daemon process. 
  417.      The network services will automatically make requests to the
  418.      Kerberos server for permission "tickets."  You will need to
  419.      have the source to your client/server programs so that you can
  420.      use the Kerberos libraries to build new applications.  Since
  421.      Kerberos tickets are cached locally in /tmp, if there is more
  422.      than one user on a given workstation, then a possibility for
  423.      a collision exists.  Kerberos also relies upon the system time
  424.      to operate, therefore it should be enhanced in the future to
  425.      include a secure time server (timed is not appropriate). 
  426.      There are two versions of Kerberos, one for OSF ported by HP,
  427.      and one BSD-based developed by the author.
  428.  
  429.      Availability:  Kerberos is distributed via anonymous FTP from
  430.      athena-dist.mit.edu in ~/pub/kerberos or ~/pub/kerberos5.
  431.  
  432. D4.  Private-Key Certificates.  This is not really a product, but
  433.      rather a design proposal that is an alternative method to PEM
  434.      for adding network security to applications such as mail. 
  435.      Simply put, it uses the public-key style of implementation
  436.      with private-key cryptography.  It can be adapted to different
  437.      types of applications and it is boilerplate so that you can
  438.      essentially plug-in any encryption algorithm.  This is
  439.      designed so that public-key protocols no longer have to rely
  440.      on public-key encryption.
  441.  
  442.      Availability:  Unknown.  For more information, contact Don
  443.      Davis, at Geer Zolot Assoc., Boston, MA (formerly of Project
  444.      Athena at MIT).  His paper "Network Security via Private-Key
  445.      Certificates" better describes this techique.
  446.  
  447. D5.  Multi-Level Security (MLS).  I don't have any particular
  448.      product in mind here, rather to point out that after you've
  449.      done everything else (above) to make your network secure, then
  450.      MLS will probably be one of your next logical steps.  That
  451.      doesn't mean you have to wait until you've done everything
  452.      else before implementing MLS, it's just (IMHO) that you would
  453.      be wasting your time to go to the Nth degree before covering
  454.      the fundamentals.  Many UNIX vendors are now shipping or
  455.      preparing to ship a MLS version.  An example that immediately
  456.      comes to mind is AT&T System V/Release 4/MLS (SVR4/MLS).  I
  457.      don't have any firsthand experience with this to offer you,
  458.      but I do have some secondhand comments.  Basically, you can
  459.      buy MLS as part of your OS, but all you've really bought are
  460.      the tools to build your MLS security program with.  From what
  461.      I have heard, it takes considerable effort in software
  462.      development to develop a set of programs and procedures in
  463.      order to use MLS UNIX effectively as an MLS environment.  If
  464.      anyone has any further information to dispute or expand this
  465.      claim I would be very interested in hearing it.
  466.  
  467. D6.  File Encryption.  Users should get into the habit of
  468.      encrypting sensitive files whenever they are stored in a
  469.      public place or transmitted via public communication circuits. 
  470.      File encryption isn't bulletproof, but it is better than clear
  471.      text for sensitive information.  The UNIX crypt utility is the
  472.      least secure of these tools, since it can be broken using
  473.      well-known decryption techniques.  The UNIX des utility
  474.      (available in US only) is more secure.  It has not been known
  475.      to be broken, however DoD does not sanction its use for
  476.      transmitting classified material.  A new UNIX tool PGP 2.0 is
  477.      available (uses RSA encryption), however there may be
  478.      licensing issues to be concerned with.
  479.  
  480. D7.  Secure Programming Methods.  Programmers can assist in the
  481.      effort of security by reducing the chance that a potential
  482.      intruder can exploit a hole or bug that is coded into locally
  483.      developed software.  There is probably a lot that can be said
  484.      about this, and their are probably many books on the subject
  485.      somewhere.  But, here are some common recommendations.  (A) 
  486.      Never create a SETUID shell script.  There are well-known
  487.      techniques used by intruders to gain access to a shell program
  488.      that is running as root.  (B)  List the complete file name,
  489.      including the full path in any system() or popen() call.  (C) 
  490.      Since there is no reason for users to have read access to a
  491.      SETUID file (or any exectuble for that matter), set
  492.      permissions to 4711 (SETUID) or 711 (Non-SETUID).
  493.  
  494. D8.  Counterintelligence.  To extend your security program to seek
  495.      out, identify, and locate intruders;  you may want to modify
  496.      some of the security tools (especially those proxy service
  497.      daemons and event-driven auditors) to trace intruders back to
  498.      their source, and otherwise maintain logs of data on intrusion
  499.      attempts.  This information can prove vital in taking an
  500.      offensive stance against security break-in's and can help
  501.      prosecute offenders.
  502.  
  503. D9.  Other Possibilities.  Depending on your requirements you might
  504.      look into specialized solutions such as Compartmented Mode
  505.      Workstations (CMW), end-to-end Data Link Encryption, and
  506.      TEMPEST.  The NCSC (Rainbow Series) and ITSEC specifications
  507.      can help you define what level of need you have for security
  508.      and help lead you to additional types of solutions.
  509.  
  510. SECTION E - Security Policy
  511.  
  512.      Everything discussed in sections {A...D} involve specific
  513. things you can do, tools and techniques to implement, to address a
  514. particular area or "hole" in security.  Your SECURITY POLICY is
  515. what ties all of that together into a cohesive and effective
  516. SECURITY PROGRAM.  There are many diverse issues to consider when
  517. formulating your policy, which alone is one of the biggest reasons
  518. why you must have one:
  519.  
  520. -- What are the functional requirements of your network?
  521. -- How secure do you need to be?  What needs to be protected?
  522. -- How will you handle incident reporting and prosecution?
  523. -- What does the law require you to do?  What about privacy?  Since
  524. break-ins often occur via multiple hops on computers throughout the
  525. US and the rest of the world, you will need to consider a variation
  526. of federal, state, local, as well as foreign laws.
  527. -- Make security a dedicated and deliberate effort.
  528. -- User training and security awareness.
  529. -- What is considered acceptable use for users?  Do the users
  530. understand what it is they are permitted to do and what it is they
  531. are not permitted to do?
  532. -- What is considered acceptable use for system administration
  533. staff?  Is using Crack to test passwords okay?  Is giving friends
  534. outside the organization accounts okay?
  535. -- Maintain a working relationship with the Computer Emergency
  536. Response Team (CERT) at Carnegie Mellon University (CMU) and your
  537. Forum of Incident Response and Security Teams (FIRST) regional
  538. representative "CERT" team.
  539. -- PLUS a myriad of different issues too numerous to go into in a
  540. summary paper.
  541.  
  542.      By answering these questions you determine what packages and
  543. methods in sections {A...D} that you want to implement, and in what
  544. ways you want to modify or configure them.  "A security policy is
  545. a formal specification of the rules by which people are given
  546. access to a computer and its resources."  (and to extend that to
  547. say...a network and its resources).  Whatever tools you install to
  548. help you maintain the security of your network and monitor it, they
  549. must be configured to implement YOUR POLICY, or else they are not
  550. doing the whole job that needs to be done.  Therefore, you must
  551. first have a POLICY.
  552.  
  553.      For additional help in the area of policy development, contact
  554. cert@cert.org, and they can probably lead you to useful
  555. documentation on the subject and guide you to your FIRST regional
  556. CERT team representative.  A good starting point is Request For
  557. Comments (RFC) 1244 "Site Security Handbook" (96 pages), which is
  558. available via anonymous FTP from numerous RFC archive sites (for
  559. example:  nic.ddn.mil). SUMMARY OF AVAILABILITY
  560.  
  561. Section   Name           Availability
  562.  
  563. A1        Router         Cisco, Wellfleet, Proteon
  564. B1        Tcp_wrapper    cert.org:/pub/tools/tcp_wrappers
  565. B2        Socks          e-mail to koblas@netcom.com
  566. B3        Kernel_wrap    eecs.nwu.edu:/pub/securelib
  567. B4        Swatch         sierra.stanford.edu:/pub/sources
  568. B5        CAP            e-mail to thompsond@orvb.saic.com
  569. B6        Mail Gateway   NOT APPLICABLE
  570. B7        Tty_wrapper    NOT APPLICABLE
  571. C1        COPS           cert.org:/pub/tools/cops
  572. C2        Chkacct        cc.perdue.edu:/pub/chkacctv1.1.tar.Z
  573. C3        Crack          cert.org:/pub/tools/crack/crack_4.1-tar.Z
  574. C4        Shadow         comp.sources.misc (jfh@rpp386.cactus.org).
  575. C5        Passwd+        dartmouth.edu:/pub/passwd+tar.Z
  576. C6        Audit          e-mail to bjorn@sysadmin.com
  577. C7        Miro           e-mail to miro@cs.cmu.edu
  578. D1        Key-card       e-mail to cert@cert.org
  579. D2        TIS/PEM        e-mail to pem-info@tis.com
  580. D3        Kerberos       athena-dist.mit.edu:/pub/kerberos5
  581. D4        Private-key    contact Don Davis, at Geer Zolot Assoc.
  582. D5        MLS            contact your UNIX vendor
  583. D6        File encrypt   contact your UNIX vendor
  584. D7        Programming    NOT APPLICABLE
  585. D8        Counter-Intel  NOT APPLICABLE
  586. D9        Other Poss.    research and contact various vendors
  587. E*        Policy         RFC 1244 and cert@cert.org
  588.  
  589.                 Additional Sources of Information
  590.  
  591. Subscribe to the following mailing lists:
  592.  
  593. cert-advisory-request@cert.org
  594. cert-tools-request@cert.org
  595.  
  596. Read the following USENET newsgroups:
  597.  
  598. comp.security.announce (echos the CERT advisory mailing list)
  599. comp.security.misc
  600. alt.security (frequently dissolves into "flame wars")
  601. comp.risks
  602. comp.virus (almost exclusively for discussing PC and MAC viruses)
  603.  
  604. Copy files from the CERT Usenet Clipping Archive via anonymous FTP
  605. >From cert.org
  606.  
  607. CERT Contact Information:
  608.  
  609. Emergencies:   +1 412 268-7090
  610. FAX:           +1 412 268-6989
  611. E-mail:        cert@cert.org
  612.  
  613. U.S. Mail:     CERT Coordination Center
  614.                Software Engineering Institute
  615.                Carnegie Mellon University
  616.                4500 Fifth Avenue
  617.                Pittsburgh, PA 15213-3890, USA
  618.  
  619. USENIX Papers are available directly from USENIX:
  620.  
  621. The USENIX Association
  622. 2560 Ninth Street, Suite 215
  623. Berkeley, CA 94710, USA
  624.  
  625. READ:  The SYMPOSIUM PROCEEDINGS of the USENIX Third UNIX Security
  626. Symposium (September 14-16, 1992).  It is 330+ pages, containing
  627. papers describing in better detail a lot of the packages and
  628. security techniques I briefly described in this paper.
  629.  
  630. ------------------------SUMMARY OF CHANGES-------------------------
  631. Version 2 (10/08/92):
  632.  
  633. Paragraph B2 (Socks) - Correction to e-mail address, submitted by
  634. Ed DeHart at CERT.
  635.  
  636. Paragraph C1 (COPS) - Additional Comments and Hints submitted by
  637. Dan Farmer, the author of COPS.
  638.  
  639. Paragraph C2 (Chkacct) - Correction to availability, the package is
  640. distributed with COPS (versions >= 1.04).
  641.  
  642. Paragraph D1 (KeyCard) - Correction to availability, source code is
  643. not in public domain, submitted by Jim Ellis at CERT.
  644.  
  645. ------------------------NOTICE---DISCLAIMER------------------------
  646. The contents of this paper do not necessarily reflect the opinions
  647. of my employer or anyone else that I know.  Nothing in this paper
  648. should be construed as a product endorsement.  No warranty is
  649. expressed or implied.  Any comments?  Please send me e-mail.
  650. -------------------------------------------------------------------
  651.  
  652. ------------------------NOTICE---COPYRIGHT-------------------------
  653. (c) Copyright 1992, Robert B. Reinhardt.  This paper is freely
  654. distributable as long as the paper is not modified in any way,
  655. includes this notice, and is provided without guarantee or warranty
  656. expressed or implied.  E-mail comments to breinhar@access.digex.com
  657. -------------------------------------------------------------------
  658.  
  659.  
  660.  **CERT-Tools Information:****************************************************
  661.  * Submissions                         : cert-tools@cert.org                 *
  662.  * Address additions/deletions/changes : cert-tools-request@cert.org         *
  663.  * Moderator                           : tools@cert.org                      *
  664.  *                                                                           *
  665.  *  The CERT/CC will not formally review, evaluate, or endorse the tools     *
  666.  *  and techniques described.  The decision to use the tools and             *
  667.  *  techniques described is the responsibility of each user or               *
  668.  *  organization and we encourage each organization to thoroughly evaluate   *
  669.  *  new tools and techniques before installation or use.                     *
  670.  *****************************************************************************
  671.  
  672.  
  673.